Computing systems have become increasingly complex, yet are increasingly relied upon to perform mission-critical functions. As a result, when a computing system fails, significant money can be lost until the computing system is restored. However, complex and sophisticated systems can take a long time to restore, even when a large number of programmers and developers are dispatched to restore them. Therefore, there is a need within the prior art for computing systems that are self-aware, such that they can detect when they have failed or are about to fail, and for computing systems that are self-healing, such that they can restore themselves.